package main

type Item interface {
	accept(visit Visitor)
	getPrice() float64
}

type Book struct {
	price float64
}

func (b Book) accept(visitor Visitor) {
	visitor.visit(b)
}

func (b Book) getPrice() float64 {
	return b.price
}
